package com.mars.admin.modules.activity.entity;

import com.mars.admin.modules.base.entity.BaseEntity;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 活动评论实体
 *
 * @author Mars
 * @version 1.0
 * @date 2025-01-07
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Table("tb_activity_comment")
@Schema(description = "活动评论")
public class ActivityComment extends BaseEntity {

    /**
     * 评论ID
     */
    @Id(keyType = KeyType.Auto)
    @Schema(description = "评论ID", example = "1")
    private Long id;

    /**
     * 活动ID
     */
    @Schema(description = "活动ID", example = "1")
    private Long activityId;

    /**
     * 评论用户ID
     */
    @Schema(description = "评论用户ID", example = "1")
    private Long userId;

    /**
     * 父评论ID，0为根评论
     */
    @Schema(description = "父评论ID", example = "0")
    private Long parentId;

    /**
     * 回复的用户ID
     */
    @Schema(description = "回复的用户ID", example = "2")
    private Long replyUserId;

    /**
     * 评论内容
     */
    @Schema(description = "评论内容", example = "这个活动很有意思")
    private String content;

    /**
     * 评论图片
     */
    @Schema(description = "评论图片", example = "[\"https://example.com/1.jpg\"]")
    private String images;

    /**
     * 点赞数
     */
    @Schema(description = "点赞数", example = "5")
    private Integer likeCount;

    /**
     * 回复数
     */
    @Schema(description = "回复数", example = "3")
    private Integer replyCount;

    /**
     * 是否置顶：0-否，1-是
     */
    @Schema(description = "是否置顶", example = "0")
    private Integer isTop;

    /**
     * 状态：0-删除，1-正常，2-审核中
     */
    @Schema(description = "状态", example = "1")
    private Integer status;
} 